package com.easy.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.common.bean.OrderBean;
import com.easy.common.bean.UserBean;

import java.util.Date;
import java.util.List;

public interface IOrderService {
    OrderBean getOrderById(Integer id);
    int addOrder(OrderBean order);
    int uploadOrder(OrderBean order);
    int deleteOrder(Integer id);
    int reverseStatus(Integer id);
    List<OrderBean> getAll(OrderBean order);
    IPage<OrderBean> getPage(OrderBean order, Page<OrderBean> page);

    IPage<OrderBean> getOrderWithUserNickname(Page<OrderBean> page);

    /**
     * 根据用户ID查询订单（带演唱会信息）
     */
    IPage<OrderBean> getOrdersByUserIdWithConcertInfo(Integer userId, Page<OrderBean> page);

    /**
     * 多条件查询订单（带演唱会信息）
     */
    // 新增方法：多条件查询订单（带演唱会信息）
    IPage<OrderBean> getOrdersByMultiCondition(Integer userId, String status, Date startDate, Date endDate, Page<OrderBean> page);
}
